package ar.edu.utn.frba.dds.tp.tests.adapter;

import static org.junit.Assert.*;

import java.math.BigDecimal;

import org.joda.time.LocalDate;
import org.joda.time.LocalTime;
import org.junit.Test;

import ar.edu.utn.frba.dds.tp.code.Asientos.AsientoDeVuelo;
import ar.edu.utn.frba.dds.tp.code.Asientos.ClaseAsiento;
import ar.edu.utn.frba.dds.tp.code.Asientos.EstadoAsiento;
import ar.edu.utn.frba.dds.tp.code.Asientos.UbicacionAsiento;
import ar.edu.utn.frba.dds.tp.code.adapter.OceanicConversor;
import ar.edu.utn.frba.dds.tp.code.vuelos.Vuelo;

import com.oceanic.AsientoDTO;

public class OceanicConversorTest {
	
	private OceanicConversor conversor = new OceanicConversor();

	@Test
	public void testAsientoDTOAAsientoDominio(){
		
		AsientoDeVuelo asiento = conversor.convertirAsiento(new AsientoDTO("OC100",10,"15/08/2012","17/08/2012","10:35","05:35",new BigDecimal("3150.98"),"Ejecutiva","Pasillo",false,"_BS","SLA"));
		
		AsientoDeVuelo otroAsiento = new AsientoDeVuelo(10, new BigDecimal("3150.98"),ClaseAsiento.EJECUTIVA,UbicacionAsiento.PASILLO,EstadoAsiento.RESERVADO);
		Vuelo vuelo = new Vuelo("OC100", "_BS", "LA", new LocalDate(2012,8,15), new LocalDate(2012,8,17), new LocalTime(10, 35), new LocalTime(5, 35));
		otroAsiento.setVuelo(vuelo);
		
		assertTrue(asiento.equals(otroAsiento));
	}

	@Test
	public void testConversionLugarOceanicALugarDominio(){
		String lugarOceanic1 = "BA_";
		String lugarOceanic2 = "SLA";
		String lugarOceanic3 = "MZA";
		assertEquals("BA",conversor.fromLugarOceanicToLugar(lugarOceanic1));
		assertEquals("LA",conversor.fromLugarOceanicToLugar(lugarOceanic2));
		assertEquals("MZA",conversor.fromLugarOceanicToLugar(lugarOceanic3));
	}
	
	@Test
	public void testConversionLugarDominioALugarOceanic(){
		String lugarDominio1 = "BA";
		String lugarDominio2 = "LA";
		String lugarDominio3 = "MZA";
		assertEquals("BA_", conversor.fromLugarToLugarOceanic(lugarDominio1));
		assertEquals("SLA", conversor.fromLugarToLugarOceanic(lugarDominio2));
		assertEquals("MZA", conversor.fromLugarToLugarOceanic(lugarDominio3));
	}
}
